module nade.wisp;


class Wisp {
	abstract Wisp[] children();
}

class WispLeaf : Wisp {
	override Wisp[] children() { return []; }
}

class WispList : Wisp {
	override Wisp[] children() { return _children; }

	private {
		Wisp[]	_children;
	}
}

class WispString : WispLeaf {
	this(string value)
	{
		_value = value;
	}

	private {
		string		_value;
	}
}
